package com.wjm;

import com.wjm.until.JdbcUtil;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

/**
 * Data:2022年09月05日
 * Author:wjm
 * Content:
 *          模拟登入功能
 *
 *    注意：
 *      使用Statement对象会出现SQL注入的现象
 *      比如用户名是张三，密码是123，但是我们在输入密码的时候输入一段SQL语句 abcd 'or' 1 '=' 1  那么依旧
 *      会显示登入成功
 *
 *
 */
public class JdbcDemo {
    public static void main(String[] args) {
        //从控制台输入账号密码
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String user = scanner.next();
        System.out.println("请输入密码:");
        String pwd = scanner.next();

        //建立连接
        try(Connection connection = JdbcUtil.getConnection();){
            //创建执行计划
            Statement statement = connection.createStatement();

            //执行sql
            String sql = "select count(*) from users where username='"+user+"' and password='"+pwd+"';";
            ResultSet resultSet = statement.executeQuery(sql);

            //遍历结果集
            while (resultSet.next()){
                int count = resultSet.getInt(1);
                System.out.println(count);
                if (count>0){
                    System.out.println("登入成功");
                }else {
                    System.out.println("登入失败");
                }
            }


        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }


    }



}
